【精讲】性能测试常见术语

您所在的位置:网站首页 山东省考a类和b类 难度 【精讲】性能测试常见术语

【精讲】性能测试常见术语

2024-04-17 04:22| 来源: 网络整理| 查看: 265

在性能测试过程中经常使用到一些术语,常见术语有:响应时间、并发用户数、吞吐量、吞吐率、点击率、资源使用率、性能计数器等。

响应时间

响应时间是指用户从客户端发送请求到所有的请求都从服务器返回客户所经历的时间。该定义强调所有数据都返回客户端所花费的时间,为什么说是所有数据呢?因为用户体验的响应时间带有主观性,用户可能会认为从提交请求到服务器开始返回数据到客户端的这段时间为响应时间。

以一个Web 应用的页面响应时间为例,如图16-2 所示。从图中可以看到,页面响应时间=网络传输时间+应用延迟时间。其中网络传输时间为(N1+N2+N3+N4),应用延迟时间为(A1+A2+A3),而应用延迟时间又可分解为数据库延迟时间(A2)和Web 服务器延迟时间(A1+A3)。

并发用户数

并发用户数指同一时刻与服务器进行数据交互的所有用户数量。概念中有两点需要注意。第一:并发强调所有的用户必须在同一时刻对服务器进行施压。例如:一个人同时挑两件东西,表示两个东西同时被这个人挑,而如果是先挑一件,再挑另外一件,那么就无法表现出同时的概念,这两件东西也就没有同时施压在这个人身上。第二:强调要与服务器进行数据交互,如果未和服务器进行数据交互,这样用户是没给服务器带来压力的。同样是上面的例子,这个人虽然同时挑了两件东西,但其中一件东西是没重量的,这就是说只有一件东西对这个人造成压力。

在工作中,对于并发用户这个概念的理解经常会出现以下两种误区:一是认为系统所有的用户都是并发用户;二是认为所有在线的用户都是并发用户。

系统使用中所有的用户是指所有可能用到该系统的用户,但这并不是并发用户数,例如公司的员工为800 人,正常情况下这800 人都会使用到OA 系统(自动化办公系统),即系统的所有用户数为800 人,但是并不代表这800 人都同时在使用OA 系统,即并发用户数不可能为800 人。

在线用户指当前正在使用系统的用户,但在线用户不一定是并发用户,因为在线用户不一定就与系统进行了数据交互。例如,如果一些在线用户只是查看系统上的一些消息,那么这些在线用户不能作为并发用户计算,因为这些用户并没有与系统进行数据交互,不会给服务器带来任何压力。

如何计算并发用户数呢?目前并没有一个精确的计算公式,很多情况下都是根据以往的经验进行估算。根据行业的不同,并发用户数也会有所不同,像电信行业并发用户数为在线用户的万分之一,如果有1000 万在线用户,那么测试1000 个并发用户即可。OA 系统的并发用户数一般是在线用户的5%~20%左右,所以并发用户很大程度上是根据经验和行业的一些标准来计算的。

吞吐量

在性能测试过程中,吞吐量是指单位时间内服务器处理客户请求的数量,吞吐量通常使用请求数/秒来衡量,直接体现服务器的承载能力。

吞吐量作为性能测试过程中主要的指标之一,它与虚拟用户数之间存在一定的联系,当系统没有遇到性能瓶颈时,可以采用下面这个公式来计算。

其中,F 表示吞吐量;NVU 表示VU(Virtual User,虚拟用户)的个数;R 表示每个VU 发出的请求数量;T 表示性能测试所用的时间。

但是如果系统遇到性能瓶颈,这个公式就不再适用,吞吐量与VU 之间的关系图如图16-3 所示。从图中可以看出,吞吐量在VU 数量增长到一定值时,软件系统出现性能瓶颈,此时吞吐量的值并不再随着VU 数量的增加而增大,而是趋于平衡。

但在实际测试过程中,测试前吞吐量是不知道的,必须通过不断添加虚拟用户来不断地测试,才能找到吞吐量的拐点,即服务器实际吞吐量的值。

吞吐率

吞吐率(Throughout)是指单位时间内从服务器返回的字节数,也可以指单位时间内服务器处理客户提交的请求数。它是衡量网络性能的一个重要指标。吞吐率=吞吐量/测试时间,通常情况下吞吐量的值越大,吞吐率的值也越大,那么系统的负载能力越强。

TPS(Transaction Per Second)表示服务器每秒处理的事务数,它是衡量系统处理能力的重要指标。

点击率

点击率(Hit Per Second)是指每秒钟用户向服务器提交的HTTP 数量。用户每点击一次,服务器端就要对用户提交的请求进行一次处理,从事务的角度来说,如果把每次点击作为提交事务来对待,那么点击率与TPS 的概念是等同的。对于Web 系统来说,点击率是服务器处理的最小单位,点击率的值越大,说明服务器端所能承受的压力越大。因此通常情况下,Web 服务器都具有防刷新的机制,因为客户每刷新一次系统就要响应一次点击,如果不对服务器进行防刷新处理,当用户不停地单击刷新按钮,此时服务器将承受着巨大的压力。

需要注意的是,单击一次并不代表客户端只向服务器端发送一个HTTP 请求,客户每单击一次,都可能会向服务器端发出多个HTTP 请求。点击率越高,说明客户端提交的请求数越多,正常情况下并发的虚拟用户数越多,客户端提交的请求数越多。

资源使用率

资源使用率是指服务器系统不同硬件资源被使用的程度,主要包括CPU 使用率、内存使用率、磁盘使用率、网络等。资源使用率=资源实际使用量/总的可用资源量。资源利用率表现当前服务器资源使用的情况,它是分析服务器出现瓶颈和对服务器进行调优的主要依据,在配置调优测试的过程中,通过比较配置调优前后系统资源的使用率来判断调优的效果。

性能计数器

系统性能包括两部分:时间和空间。空间指的是系统硬件资源的使用情况,性能测试工具是如何来监控硬件资源(如CPU、内存、磁盘)的使用情况呢?性能测试工具并没有现成的指标可以直接监控这些硬件资源使用的情况,依靠的是不同硬件资源所对应的计数器来监控。

性能计数器(Counter)是描述服务器或操作系统硬件使用情况的一系列数据指标。当然数据库、Web 服务器和应用服务器也存在对应的计数器,但其他归根到底都是在消耗服务器的硬件资源。通过添加计数器来观察系统资源的使用情况。监控不同的对象有着不同的计数器,主要包括操作系统性能计数器、数据库计数器、应用服务器计数器等。

计数器在性能测试过程中发挥着监控和分析的关键作用,尤其是在分析系统的可扩展性和对性能瓶颈进行定位时,计数器的阈值起着非常重要的作用。必须注意的是,一般情况下,单一的性能计数器只能体现系统性能的某一个方面,在性能测试过程中分析测试结果时,必须基于多个不同的计数器进行分析。

在性能测试中常用资源利用率进行横向对比。如在进行性能测试时发现,某个资源的使用率很高,几乎达到100%,假设该资源是CPU,而其他资源的使用率又比较低,此时可以很清楚地知道,CPU 是系统性能的瓶颈。

思考时间

思考时间(Think Time)也称为“休眠时间”,是指用户在进行操作时,每个请求之间的时间间隔。对于交互系统来说,用户不可能持续不断地发出请求,一般情况下,用户在向服务端发送一个请求后,会等待一段时间再发送下一个请求。性能测试过程中,为了模拟这个过程而引入思考时间的概念。

在测试脚本中,思考时间为脚本中两条请求语句之间的间隔时间。当前对于不同的性能测试工具提供了不同的函数来实现思考时间,在实际的测试过程中,如何设置思考时间是性能测试工程师需要关心的问题。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3